.panel {
    position: relative;
    width: 90%;
    margin: 0 auto;
    margin-bottom: 1rem;
    background: #ffffff;
    padding: .5rem 1rem;
    box-sizing: border-box;
    box-shadow: .06rem .06rem .5rem #579693;
    border-radius: .5rem;
    transition: all .3s;

    div {
        margin-bottom: .6rem;

        &:last-child {
            margin-bottom: 0;
        }
    }


    * {
        font-size: 1rem;
    }

    >* {

        >input,
        >button {
            margin-right: 1rem;
        }
    }

    span {
        text-shadow: .01em .01em .08em #b5eaed;
    }

    button {
        text-shadow: .01em .01em .08em #088389;
    }

    input {
        text-shadow: .01em .01em .06em #000;
    }

    div>span {
        position: relative;
        margin: 0 1rem;

        &::before {
            content: '';
            position: absolute;
            top: 0;
            right: calc(100% + .4rem);
            width: .2rem;
            height: 100%;
            background: #29b8d8;
            border-radius: .5rem;
        }
    }

    input {
        color: #989898;
        background: none;
        outline: none;
        border: none;
        border-bottom: .2rem solid #76a7ba;
        text-indent: .5em;

        &::placeholder {
            color: #85858599;
            text-shadow: none;
        }
    }

    button {
        background: #93b0db;
        color: #fff;
        border: none;
        padding: .2rem 1.25rem;
        border-radius: .5rem;
        box-shadow: .05rem .05rem .4rem #7577b4;
        transition: all .2s;

        &:hover {
            color: #eee;
            background: #5b98d0;
            box-shadow: .05rem .05rem .4rem #6879a5;
        }

        &:active {
            color: #ccc;
            background: #5a76a3;
        }

        &[disabled] {
            color: #eee !important;
            background: #ccc !important;
        }
    }


    &#opt-panel {
        color: #43698e;

        &:hover {
            background: #e2f8ffbf;
            box-shadow: .1rem .1rem .8rem #43698e;
        }

    }

    &#ws-panel {
        margin-top: 0;
        background: #98c379;
        border-radius: 0 0 .5rem .5rem;

        * {
            color: #fff;

            text-shadow: none;
        }

        span {
            &::before {
                background: #3cba88;
                box-shadow: .01rem .01rem .2rem #30e339;
            }
        }

        input {
            border-bottom: .2rem solid #709059;

            &::placeholder {
                color: #ffffff99;
            }
        }

        button {
            background: #b1db93;
            box-shadow: .05rem .05rem .4rem #8fb475;

            &:hover {
                color: #eee;
                background: #9fc683;
                box-shadow: .05rem .05rem .4rem #81a568;
            }

            &:active {
                color: #ccc;
                background: #77985f;
            }
        }

        &:hover {
            background: #add78f;
            box-shadow: .1rem .1rem .8rem #638e43;
        }

        .ws-connect {
            display: flex;

            input {
                flex-grow: 0;
            }

        }
    }

}

#srcPath {
    margin-left: 2em;
}

#paint-wrapper {
    position: relative;
    top: 1rem;
    overflow: hidden;
    box-sizing: border-box;
    border-radius: .5rem;
    border: .15rem solid #282c34;
    margin-bottom: 24rem;
}

#px-container,
#mask-container {
    width: 100%;
    height: 100%;
    // margin: .15rem auto;
    overflow: hidden;

    box-sizing: border-box;

    ol {
        padding: 0;

        &,
        * {
            /* 消除默认间隙 */
            font-size: 0;
        }
    }

    .px {
        position: relative;
        list-style-type: none;
        display: inline-block;
        height: 100%;
        min-width: 1px;
        min-height: 1px;
    }
}

#paint-wrapper.individual {

    #px-container,
    #mask-container {
        ol {

            &::before {
                content: '';
                position: absolute;
                left: 0;
                top: 0;
                width: 100%;
                height: 100%;
            }
        }
    }

    .px {
        transition: all .3s;
        transform: scale(1);

        &::after {
            content: '';
            position: absolute;
            left: 0;
            top: 0;
            width: 100%;
            height: 100%;
            background: #00000000;
        }
    }
}

#paint-wrapper.individual.idle {
    .px {
        transform: scale(0.95);

        &:hover::after {
            background: #00000033;
            border: 1px solid #fff;
        }

        &:hover {
            transform: scale(0.98);
        }
    }
}

#mask-container {
    position: absolute;
    top: 0;
    left: 0;
    margin: 0;
    padding: 0;
    border: none;

    /* background: none; */
}

#result-render {
    position: absolute;
    bottom: 5px;
    right: 20px;
    z-index: 10;

    img {
        border-radius: .5rem;
    }
}

#follow-cursor {
    position: absolute;
    opacity: 1;
    border-radius: 50%;

    pointer-events: none;
}

#edit-wrapper {
    display: flex;
    justify-content: flex-start;
    width: 90%;
    height: 60rem;
    margin: 0 auto;
    background: #ffffffdd;
    box-shadow: 0 -.1rem .5rem #579693;
    border-radius: .5rem .5rem 0 0;
    padding: 1rem;
    box-sizing: border-box;


    img {
        height: 100%;
    }
}

#edit-body {
    overflow: auto;
    margin-left: 5%;
    flex: 1 1 auto;
    padding-bottom: 4rem;

    li:first-child {

        div {
            margin-left: 2em;

            i {
                margin-left: 1em;
            }
        }

        input {
            width: 4em;
        }

        button {
            margin-left: 2em;
        }
    }

    li {
        display: flex;
        margin-bottom: 1rem;

        span {
            display: inline-block;
            width: 4rem;
            height: 4rem;
        }

        .color-block {
            margin-right: 5%;
        }
    }
}


@media screen and (max-width: 1280px) {
    .panel {
        width: 100%;
        border-radius: 0;
    }
}